Skip to content

Add support for generics in offloadand remove no_mangle attribute#159566

Draft
Sa4dUs wants to merge 3 commits into
rust-lang:mainfrom
Sa4dUs:offload-generics
Draft

Add support for generics in offloadand remove no_mangle attribute#159566
Sa4dUs wants to merge 3 commits into
rust-lang:mainfrom
Sa4dUs:offload-generics

Conversation

@Sa4dUs

@Sa4dUs Sa4dUs commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

implements a 3rd pass where we collect kernel instantiations required by offload to work
also enforces consistent mangling for offload functions between host and device

closes: #150985

r? @ZuseZ4

@rustbot rustbot added A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jul 19, 2026
@Sa4dUs
Sa4dUs force-pushed the offload-generics branch from 7fefbf7 to a019aea Compare July 19, 2026 14:10
@rust-log-analyzer

This comment has been minimized.

// core/std/allocators/etc. For example symbols used to hook up allocation
// are not considered for export
let codegen_fn_attrs = tcx.codegen_fn_attrs(sym_def_id);
let is_extern = codegen_fn_attrs.contains_extern_indicator();

@bjorn3 bjorn3 Jul 19, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps contains_extern_indicator should return true for offload functions?

View changes since the review

});

// Write out the offload manifest of required generic kernel instantiations.
if let Some(path) = tcx.sess.opts.unstable_opts.offload.iter().find_map(|o| {

@bjorn3 bjorn3 Jul 19, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems like something that should be done outside of this query. I think this query can be cached, in which case nothing would be written.

View changes since the review

Comment thread compiler/rustc_codegen_ssa/src/base.rs Outdated
}

// A `HostMetadata` pass only exists to collect the set of generic kernel instantiations
// required by the host and write the offload manifest.

@bjorn3 bjorn3 Jul 19, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why does this even go through codegen_crate?

View changes since the review

@ZuseZ4

ZuseZ4 commented Jul 20, 2026

Copy link
Copy Markdown
Member

Great improvement ( I'll review later).
@Flakebi fyi, I think now we only have the abi checks left to implement for more complex types and offload should cover all the bigger things we talked about?

@rust-bors

This comment has been minimized.

Comment thread compiler/rustc_codegen_ssa/src/back/write.rs Outdated
@Sa4dUs
Sa4dUs force-pushed the offload-generics branch from b40ecd1 to cb87656 Compare July 23, 2026 16:44
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job aarch64-gnu-llvm-21-2 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
   9:     0xfffd419f7410 - std[faaa1722a6c2e07a]::panicking::default_hook::{closure#0}
                               at /rustc/08d5b675a9b2abdca5e2fe4eabe0e07bbda15d49/library/std/src/panicking.rs:292:27
  10:     0xfffd41a16e94 - std[faaa1722a6c2e07a]::panicking::default_hook
                               at /rustc/08d5b675a9b2abdca5e2fe4eabe0e07bbda15d49/library/std/src/panicking.rs:319:9
  11:     0xfffd3e118c58 - std[faaa1722a6c2e07a]::panicking::update_hook::<alloc[7220a3968fb26a7c]::boxed::Box<rustc_driver_impl[15bd51c26b8b261c]::install_ice_hook::{closure#1}>>::{closure#0}
  12:     0xfffd41a17210 - <alloc[7220a3968fb26a7c]::boxed::Box<dyn for<'a, 'b> core[a3bed6fa7f8910de]::ops::function::Fn<(&'a std[faaa1722a6c2e07a]::panic::PanicHookInfo<'b>,), Output = ()> + core[a3bed6fa7f8910de]::marker::Sync + core[a3bed6fa7f8910de]::marker::Send> as core[a3bed6fa7f8910de]::ops::function::Fn<(&std[faaa1722a6c2e07a]::panic::PanicHookInfo,)>>::call
                               at /rustc/08d5b675a9b2abdca5e2fe4eabe0e07bbda15d49/library/alloc/src/boxed.rs:2333:9
  13:     0xfffd41a17210 - std[faaa1722a6c2e07a]::panicking::panic_with_hook
                               at /rustc/08d5b675a9b2abdca5e2fe4eabe0e07bbda15d49/library/std/src/panicking.rs:823:13
  14:     0xfffd419f74a8 - std[faaa1722a6c2e07a]::panicking::panic_handler::{closure#0}
                               at /rustc/08d5b675a9b2abdca5e2fe4eabe0e07bbda15d49/library/std/src/panicking.rs:688:13
  15:     0xfffd419ef600 - std[faaa1722a6c2e07a]::sys::backtrace::__rust_end_short_backtrace::<std[faaa1722a6c2e07a]::panicking::panic_handler::{closure#0}, !>
                               at /rustc/08d5b675a9b2abdca5e2fe4eabe0e07bbda15d49/library/std/src/sys/backtrace.rs:182:18
  16:     0xfffd419f8d28 - __rustc[a25a212e9fab2cd3]::rust_begin_unwind
                               at /rustc/08d5b675a9b2abdca5e2fe4eabe0e07bbda15d49/library/std/src/panicking.rs:679:5
  17:     0xfffd3e0723fc - core[a3bed6fa7f8910de]::panicking::panic_fmt
                               at /rustc/08d5b675a9b2abdca5e2fe4eabe0e07bbda15d49/library/core/src/panicking.rs:80:14
  18:     0xfffd4002f248 - rustc_codegen_ssa[b14bd1b17df36813]::codegen_attrs::codegen_fn_attrs
  19:     0xfffd3fd23d28 - rustc_query_impl[75f7ded4abce79f5]::query_impl::codegen_fn_attrs::invoke_provider_fn::__rust_begin_short_backtrace
  20:     0xfffd3faf67e4 - <std[faaa1722a6c2e07a]::thread::local::LocalKey<core[a3bed6fa7f8910de]::cell::Cell<*const ()>>>::with::<rustc_middle[ff4e3d3446a5eafc]::ty::context::tls::enter_context<rustc_query_impl[75f7ded4abce79f5]::execution::execute_job_non_incr<rustc_middle[ff4e3d3446a5eafc]::query::caches::DefIdCache<rustc_middle[ff4e3d3446a5eafc]::query::erase::ErasedData<[u8; 8usize]>>>::{closure#0}, rustc_middle[ff4e3d3446a5eafc]::query::erase::ErasedData<[u8; 8usize]>>::{closure#0}, rustc_middle[ff4e3d3446a5eafc]::query::erase::ErasedData<[u8; 8usize]>>
  21:     0xfffd3fa08e30 - rustc_query_impl[75f7ded4abce79f5]::execution::try_execute_query::<rustc_middle[ff4e3d3446a5eafc]::query::caches::DefIdCache<rustc_middle[ff4e3d3446a5eafc]::query::erase::ErasedData<[u8; 8usize]>>, false>
  22:     0xfffd3fd4f25c - rustc_query_impl[75f7ded4abce79f5]::query_impl::codegen_fn_attrs::execute_query_non_incr::__rust_end_short_backtrace
  23:     0xfffd40c23208 - rustc_symbol_mangling[9b222297b6f37b9]::symbol_name_provider
  24:     0xfffd3fd4c924 - rustc_query_impl[75f7ded4abce79f5]::query_impl::symbol_name::invoke_provider_fn::__rust_begin_short_backtrace
  25:     0xfffd3faf6d60 - <std[faaa1722a6c2e07a]::thread::local::LocalKey<core[a3bed6fa7f8910de]::cell::Cell<*const ()>>>::with::<rustc_middle[ff4e3d3446a5eafc]::ty::context::tls::enter_context<rustc_query_impl[75f7ded4abce79f5]::execution::execute_job_non_incr<rustc_middle[ff4e3d3446a5eafc]::query::caches::DefaultCache<rustc_middle[ff4e3d3446a5eafc]::ty::PseudoCanonicalInput<rustc_middle[ff4e3d3446a5eafc]::ty::Ty>, rustc_middle[ff4e3d3446a5eafc]::query::erase::ErasedData<[u8; 16usize]>>>::{closure#0}, rustc_middle[ff4e3d3446a5eafc]::query::erase::ErasedData<[u8; 16usize]>>::{closure#0}, rustc_middle[ff4e3d3446a5eafc]::query::erase::ErasedData<[u8; 16usize]>>
  26:     0xfffd3fa57618 - rustc_query_impl[75f7ded4abce79f5]::execution::try_execute_query::<rustc_middle[ff4e3d3446a5eafc]::query::caches::DefaultCache<rustc_middle[ff4e3d3446a5eafc]::ty::instance::Instance, rustc_middle[ff4e3d3446a5eafc]::query::erase::ErasedData<[u8; 16usize]>>, false>
  27:     0xfffd3fc66158 - rustc_query_impl[75f7ded4abce79f5]::query_impl::symbol_name::execute_query_non_incr::__rust_end_short_backtrace
  28:     0xfffd3ff27d08 - <rustc_lint[5d8010d553e09163]::runtime_symbols::RuntimeSymbols as rustc_lint[5d8010d553e09163]::passes::LateLintPass>::check_item
  29:     0xfffd3fe9c8d8 - <rustc_lint[5d8010d553e09163]::BuiltinCombinedLateLintModPass as rustc_lint[5d8010d553e09163]::passes::LateLintPass>::check_item
  30:     0xfffd3fed537c - <rustc_lint[5d8010d553e09163]::late::LateContextAndPass<rustc_lint[5d8010d553e09163]::late::RuntimeCombinedLateLintPass> as rustc_hir[8c65b58f71711a6a]::intravisit::Visitor>::visit_nested_item
  31:     0xfffd3ffa3dd0 - rustc_hir[8c65b58f71711a6a]::intravisit::walk_mod::<rustc_lint[5d8010d553e09163]::late::LateContextAndPass<rustc_lint[5d8010d553e09163]::late::RuntimeCombinedLateLintPass>>
  32:     0xfffd3febe77c - rustc_lint[5d8010d553e09163]::late::late_lint_mod::<rustc_lint[5d8010d553e09163]::BuiltinCombinedLateLintModPass>
  33:     0xfffd3fe8cf50 - rustc_lint[5d8010d553e09163]::lint_mod
  34:     0xfffd3fca297c - rustc_query_impl[75f7ded4abce79f5]::query_impl::lint_mod::invoke_provider_fn::__rust_begin_short_backtrace
  35:     0xfffd3faf7c1c - <std[faaa1722a6c2e07a]::thread::local::LocalKey<core[a3bed6fa7f8910de]::cell::Cell<*const ()>>>::with::<rustc_middle[ff4e3d3446a5eafc]::ty::context::tls::enter_context<rustc_query_impl[75f7ded4abce79f5]::execution::execute_job_non_incr<rustc_middle[ff4e3d3446a5eafc]::query::caches::DefaultCache<rustc_span[ff95033f1d1c2b04]::def_id::LocalModId, rustc_middle[ff4e3d3446a5eafc]::query::erase::ErasedData<[u8; 0usize]>>>::{closure#0}, rustc_middle[ff4e3d3446a5eafc]::query::erase::ErasedData<[u8; 0usize]>>::{closure#0}, rustc_middle[ff4e3d3446a5eafc]::query::erase::ErasedData<[u8; 0usize]>>
  36:     0xfffd3fa4b830 - rustc_query_impl[75f7ded4abce79f5]::execution::try_execute_query::<rustc_middle[ff4e3d3446a5eafc]::query::caches::DefaultCache<rustc_span[ff95033f1d1c2b04]::def_id::LocalModId, rustc_middle[ff4e3d3446a5eafc]::query::erase::ErasedData<[u8; 0usize]>>, false>
  37:     0xfffd3fc47d44 - rustc_query_impl[75f7ded4abce79f5]::query_impl::lint_mod::execute_query_non_incr::__rust_end_short_backtrace
  38:     0xfffd3fec6c2c - <rustc_middle[ff4e3d3446a5eafc]::ty::context::TyCtxt>::par_hir_for_each_module::<rustc_lint[5d8010d553e09163]::late::check_crate::{closure#1}::{closure#0}::{closure#0}>::{closure#0}
  39:     0xfffd3fec10f4 - rustc_data_structures[81c4a32698bb0a71]::sync::parallel::par_for_each_in::<&rustc_span[ff95033f1d1c2b04]::def_id::LocalModId, &[rustc_span[ff95033f1d1c2b04]::def_id::LocalModId], <rustc_middle[ff4e3d3446a5eafc]::ty::context::TyCtxt>::par_hir_for_each_module<rustc_lint[5d8010d553e09163]::late::check_crate::{closure#1}::{closure#0}::{closure#0}>::{closure#0}>
  40:     0xfffd3fdcefa4 - <rustc_session[83eec55e1416d174]::session::Session>::time::<(), rustc_lint[5d8010d553e09163]::late::check_crate::{closure#1}::{closure#0}>
  41:     0xfffd3fecad54 - rustc_lint[5d8010d553e09163]::late::check_crate
  42:     0xfffd3e3729b8 - rustc_interface[1a26ff499be5033e]::passes::analysis::{closure#0}::{closure#0}::{closure#2}
  43:     0xfffd419a7000 - rustc_data_structures[81c4a32698bb0a71]::sync::parallel::par_fns
  44:     0xfffd3e37352c - rustc_interface[1a26ff499be5033e]::passes::analysis::{closure#0}::{closure#0}
  45:     0xfffd419a7000 - rustc_data_structures[81c4a32698bb0a71]::sync::parallel::par_fns
  46:     0xfffd3e36d6c8 - <rustc_session[83eec55e1416d174]::session::Session>::time::<(), rustc_interface[1a26ff499be5033e]::passes::analysis::{closure#0}>
  47:     0xfffd3e2e0f1c - rustc_interface[1a26ff499be5033e]::passes::analysis
  48:     0xfffd3fbe9b4c - rustc_query_impl[75f7ded4abce79f5]::query_impl::analysis::invoke_provider_fn::__rust_begin_short_backtrace
  49:     0xfffd3faf68e0 - <std[faaa1722a6c2e07a]::thread::local::LocalKey<core[a3bed6fa7f8910de]::cell::Cell<*const ()>>>::with::<rustc_middle[ff4e3d3446a5eafc]::ty::context::tls::enter_context<rustc_query_impl[75f7ded4abce79f5]::execution::execute_job_non_incr<rustc_middle[ff4e3d3446a5eafc]::query::caches::SingleCache<rustc_middle[ff4e3d3446a5eafc]::query::erase::ErasedData<[u8; 0usize]>>>::{closure#0}, rustc_middle[ff4e3d3446a5eafc]::query::erase::ErasedData<[u8; 0usize]>>::{closure#0}, rustc_middle[ff4e3d3446a5eafc]::query::erase::ErasedData<[u8; 0usize]>>
  50:     0xfffd3fa0c864 - rustc_query_impl[75f7ded4abce79f5]::execution::try_execute_query::<rustc_middle[ff4e3d3446a5eafc]::query::caches::SingleCache<rustc_middle[ff4e3d3446a5eafc]::query::erase::ErasedData<[u8; 0usize]>>, false>
  51:     0xfffd3fcf94f8 - rustc_query_impl[75f7ded4abce79f5]::query_impl::analysis::execute_query_non_incr::__rust_end_short_backtrace
  52:     0xfffd3e104b30 - <std[faaa1722a6c2e07a]::thread::local::LocalKey<core[a3bed6fa7f8910de]::cell::Cell<*const ()>>>::with::<rustc_middle[ff4e3d3446a5eafc]::ty::context::tls::enter_context<<rustc_middle[ff4e3d3446a5eafc]::ty::context::GlobalCtxt>::enter<rustc_interface[1a26ff499be5033e]::passes::create_and_enter_global_ctxt<core[a3bed6fa7f8910de]::option::Option<rustc_interface[1a26ff499be5033e]::queries::Linker>, rustc_driver_impl[15bd51c26b8b261c]::run_compiler::{closure#0}::{closure#1}>::{closure#2}, core[a3bed6fa7f8910de]::option::Option<rustc_interface[1a26ff499be5033e]::queries::Linker>>::{closure#1}, core[a3bed6fa7f8910de]::option::Option<rustc_interface[1a26ff499be5033e]::queries::Linker>>::{closure#0}, core[a3bed6fa7f8910de]::option::Option<rustc_interface[1a26ff499be5033e]::queries::Linker>>
  53:     0xfffd3e09dee0 - <rustc_middle[ff4e3d3446a5eafc]::ty::context::TyCtxt>::create_global_ctxt::<core[a3bed6fa7f8910de]::option::Option<rustc_interface[1a26ff499be5033e]::queries::Linker>, rustc_interface[1a26ff499be5033e]::passes::create_and_enter_global_ctxt<core[a3bed6fa7f8910de]::option::Option<rustc_interface[1a26ff499be5033e]::queries::Linker>, rustc_driver_impl[15bd51c26b8b261c]::run_compiler::{closure#0}::{closure#1}>::{closure#2}>
  54:     0xfffd3e13ee98 - rustc_interface[1a26ff499be5033e]::passes::create_and_enter_global_ctxt::<core[a3bed6fa7f8910de]::option::Option<rustc_interface[1a26ff499be5033e]::queries::Linker>, rustc_driver_impl[15bd51c26b8b261c]::run_compiler::{closure#0}::{closure#1}>
  55:     0xfffd3e0f8414 - std[faaa1722a6c2e07a]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[1a26ff499be5033e]::util::run_in_thread_with_globals<rustc_interface[1a26ff499be5033e]::util::run_in_thread_pool_with_globals<rustc_interface[1a26ff499be5033e]::interface::run_compiler<(), rustc_driver_impl[15bd51c26b8b261c]::run_compiler::{closure#0}>::{closure#2}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
  56:     0xfffd3e0ea340 - <std[faaa1722a6c2e07a]::thread::lifecycle::spawn_unchecked<rustc_interface[1a26ff499be5033e]::util::run_in_thread_with_globals<rustc_interface[1a26ff499be5033e]::util::run_in_thread_pool_with_globals<rustc_interface[1a26ff499be5033e]::interface::run_compiler<(), rustc_driver_impl[15bd51c26b8b261c]::run_compiler::{closure#0}>::{closure#2}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[a3bed6fa7f8910de]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  57:     0xfffd41a22138 - <alloc[7220a3968fb26a7c]::boxed::Box<dyn core[a3bed6fa7f8910de]::ops::function::FnOnce<(), Output = ()> + core[a3bed6fa7f8910de]::marker::Send> as core[a3bed6fa7f8910de]::ops::function::FnOnce<()>>::call_once
                               at /rustc/08d5b675a9b2abdca5e2fe4eabe0e07bbda15d49/library/alloc/src/boxed.rs:2319:9
  58:     0xfffd41a22138 - <std[faaa1722a6c2e07a]::sys::thread::unix::Thread>::new::thread_start
                               at /rustc/08d5b675a9b2abdca5e2fe4eabe0e07bbda15d49/library/std/src/sys/thread/unix.rs:123:17
  59:     0xfffd3d4bb9f4 - <unknown>
  60:     0xfffd3d52700c - <unknown>
---
warning: the ICE couldn't be written to `/checkout/rustc-ice-2026-07-23T16_55_48-23435.txt`: Read-only file system (os error 30)

note: rustc 1.99.0-nightly (492776b91 2026-07-23) running on aarch64-unknown-linux-gnu

note: compiler flags: --crate-type lib -Z embed-metadata=no -C opt-level=3 -C embed-bitcode=no -C codegen-units=1 -C embed-bitcode=yes -Z unstable-options -C force-frame-pointers=non-leaf -C debug-assertions=on -Z annotate-moves -Z randomize-layout -Z unstable-options -Z macro-backtrace -C split-debuginfo=off -C prefer-dynamic -C llvm-args=-import-instr-limit=10 -Z inline-mir -Z inline-mir-preserve-debug -Z mir_strip_debuginfo=locals-in-tiny-functions -C link-args=-Wl,-z,origin -C link-args=-Wl,-rpath,$ORIGIN/../lib -Z crate-attr=doc(html_root_url="https://doc.rust-lang.org/nightly/") -Z binary-dep-depinfo -Z force-unstable-if-unmarked

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [codegen_fn_attrs] computing codegen attributes of `ptr::metadata::VTable`
#1 [symbol_name] computing the symbol for `ptr::metadata::VTable`
... and 2 other queries... use `env RUST_BACKTRACE=1` to see the full query stack
[RUSTC-TIMING] core test:false 28.183
error: could not compile `core` (lib)

Caused by:
  process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc /checkout/obj/build/bootstrap/debug/rustc --crate-name core --edition=2024 library/core/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -Z embed-metadata=no -C opt-level=3 -C embed-bitcode=no -C codegen-units=1 --warn=unexpected_cfgs --check-cfg 'cfg(no_fp_fmt_parse)' --check-cfg 'cfg(feature, values(any()))' --check-cfg 'cfg(target_has_reliable_f16)' --check-cfg 'cfg(target_has_reliable_f16_math)' --check-cfg 'cfg(target_has_reliable_f128)' --check-cfg 'cfg(target_has_reliable_f128_math)' --check-cfg 'cfg(llvm_enzyme)' --check-cfg 'cfg(no_io_statics)' -Cembed-bitcode=yes -Zunstable-options -Cforce-frame-pointers=non-leaf -C debug-assertions=on --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("debug_refcell", "llvm_enzyme", "optimize_for_size", "panic_immediate_abort"))' -C metadata=2d870288834c6e9d -C extra-filename=-d8b05ff2eeaa5dc3 --out-dir /checkout/obj/build/aarch64-unknown-linux-gnu/stage1-std/aarch64-unknown-linux-gnu/dist/build/core/d8b05ff2eeaa5dc3/out --target aarch64-unknown-linux-gnu -L dependency=/checkout/obj/build/aarch64-unknown-linux-gnu/stage1-std/dist/build/core/d8b05ff2eeaa5dc3/out -Zannotate-moves -Zrandomize-layout '--check-cfg=cfg(feature,values(any()))' -Zunstable-options -Zmacro-backtrace -Csplit-debuginfo=off -Cprefer-dynamic -Cllvm-args=-import-instr-limit=10 --cfg=randomized_layouts -Zinline-mir -Zinline-mir-preserve-debug -Zmir_strip_debuginfo=locals-in-tiny-functions -Clink-args=-Wl,-z,origin '-Clink-args=-Wl,-rpath,$ORIGIN/../lib' -Alinker-messages '-Zcrate-attr=doc(html_root_url="https://doc.rust-lang.org/nightly/")' -Z binary-dep-depinfo` (exit status: 101)
Bootstrap failed while executing `--stage 2 test --skip tidy --skip library/stdarch/crates/intrinsic-test --skip src/tools/rust-analyzer --skip tests --skip library --skip tidyselftest`
Currently active steps:
compile::Assemble { target_compiler: Compiler { stage: 2, host: aarch64-unknown-linux-gnu, forced_compiler: false } } at src/bootstrap/src/core/build_steps/tool.rs:1377
compile::Rustc { target: aarch64-unknown-linux-gnu, build_compiler: Compiler { stage: 1, host: aarch64-unknown-linux-gnu, forced_compiler: false }, crates: [] } at src/bootstrap/src/core/build_steps/compile.rs:2303
compile::Std { target: aarch64-unknown-linux-gnu, build_compiler: Compiler { stage: 1, host: aarch64-unknown-linux-gnu, forced_compiler: false }, crates: [], force_recompile: false, extra_rust_args: [], is_for_mir_opt_tests: false } at src/bootstrap/src/core/build_steps/compile.rs:1075

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

std::offload requires mangled names

5 participants